0. Setup¶

In [1]:
%run ./setup_notebook.ipynb
In [2]:
!pip install wordsegment
Requirement already satisfied: wordsegment in c:\users\harri\miniconda3\envs\py310_notebook_env\lib\site-packages (1.3.1)
In [3]:
# This Python 3 environment comes with many helpful analytics libraries installed
# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python
# For example, here's several helpful packages to load

import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
from collections import defaultdict
import json
import ast
from tqdm import tqdm 
import time
import requests
from bs4 import BeautifulSoup, SoupStrainer
import pprint
import logging
import re
# from kaggle_secrets import UserSecretsClient
import plotly.express as px
import plotly.io as pio
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import swifter
import itertools
from geopy.geocoders import Nominatim
from wordsegment import load, segment
# from nltk.stem.snowball import SnowballStemmer
# from nltk.corpus import stopwords
# from nltk.tokenize import word_tokenize
# from nltk.stem import WordNetLemmatizer
 
 
# STOPWORDS = set(stopwords.words('english'))
px.defaults.template = 'bnw'

1. Data Exploration & Cleaning¶

In [4]:
df_linkedin_listing_usa = pd.read_csv("../linkedin-data-analyst-jobs-listings/linkedin-jobs-usa.csv")
df_linkedin_listing_usa["country"] = "USA"
In [5]:
df_linkedin_listing_canada = pd.read_csv("../linkedin-data-analyst-jobs-listings/linkedin-jobs-canada.csv")
df_linkedin_listing_canada["country"] = "Canada"
In [6]:
assert list(df_linkedin_listing_usa.columns) == list(df_linkedin_listing_canada.columns), \
"Columns not equal, cannot concat vertically"
In [7]:
df_linkedin_listing = pd.concat([df_linkedin_listing_usa, df_linkedin_listing_canada])
In [8]:
df_linkedin_listing.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5618 entries, 0 to 2772
Data columns (total 10 columns):
 #   Column         Non-Null Count  Dtype 
---  ------         --------------  ----- 
 0   title          5618 non-null   object
 1   company        5618 non-null   object
 2   description    5618 non-null   object
 3   onsite_remote  5618 non-null   object
 4   salary         965 non-null    object
 5   location       5618 non-null   object
 6   criteria       5618 non-null   object
 7   posted_date    5618 non-null   object
 8   link           5618 non-null   object
 9   country        5618 non-null   object
dtypes: object(10)
memory usage: 482.8+ KB
In [9]:
df_linkedin_listing.head(5)
Out[9]:
title company description onsite_remote salary location criteria posted_date link country
0 Data Analyst - Recent Graduate PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN Buffalo-Niagara Falls Area [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-22 https://www.linkedin.com/jobs/view/data-analys... USA
1 Data Analyst - Recent Graduate PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN San Jose, CA [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-22 https://www.linkedin.com/jobs/view/data-analys... USA
2 Data Analyst PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN Texas, United States [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-17 https://www.linkedin.com/jobs/view/data-analys... USA
3 Data Analyst PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN Illinois, United States [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-17 https://www.linkedin.com/jobs/view/data-analys... USA
4 Entry-Level Data Analyst The Federal Savings Bank The Federal Savings Bank, a national bank and ... onsite NaN Chicago, IL [{'Seniority level': 'Entry level'}, {'Employm... 2022-11-17 https://www.linkedin.com/jobs/view/entry-level... USA

I noticed that there are some unnormalized JSONs in the criteria column. I will normalize the criteria column and find out the nullity of the normalized criteria column.

1.1 JSON Normalization¶

Let's normalize the criteria column

In [10]:
df_linkedin_listing.head(1)
Out[10]:
title company description onsite_remote salary location criteria posted_date link country
0 Data Analyst - Recent Graduate PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN Buffalo-Niagara Falls Area [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-22 https://www.linkedin.com/jobs/view/data-analys... USA
In [11]:
criteria_records = []
for criteria_string_form in df_linkedin_listing["criteria"]:
    criteria_array = None
    try:
        criteria_array = ast.literal_eval(criteria_string_form)
    except Exception as e:
        print(e)
        print(criteria_string_form)
        continue    
    criteria_records.append({k:v for criteria_dict in criteria_array for k,v in criteria_dict.items()})

# criteria_df = df_linkedin_listing.iloc[0:3].apply(convert_jsons_to_table, axis=1)
criteria_records[0]
Out[11]:
{'Seniority level': 'Not Applicable',
 'Employment type': 'Full-time',
 'Job function': 'Information Technology',
 'Industries': 'Software Development, Technology, Information and Internet, and Financial Services'}
In [12]:
criteria_df = pd.DataFrame.from_records(criteria_records)
In [13]:
# Validation Cell
criteria_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5618 entries, 0 to 5617
Data columns (total 4 columns):
 #   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
 0   Seniority level  5194 non-null   object
 1   Employment type  5541 non-null   object
 2   Job function     5194 non-null   object
 3   Industries       5193 non-null   object
dtypes: object(4)
memory usage: 175.7+ KB
In [14]:
df = pd.merge(df_linkedin_listing, criteria_df, left_index=True, right_index=True)
In [15]:
df.head(1)
Out[15]:
title company description onsite_remote salary location criteria posted_date link country Seniority level Employment type Job function Industries
0 Data Analyst - Recent Graduate PayPal At PayPal (NASDAQ: PYPL), we believe that ever... onsite NaN Buffalo-Niagara Falls Area [{'Seniority level': 'Not Applicable'}, {'Empl... 2022-11-22 https://www.linkedin.com/jobs/view/data-analys... USA Not Applicable Full-time Information Technology Software Development, Technology, Information ...

Looks good! Let's drop the criteria column which holds the json that we have already normalized into other columns

In [16]:
df.drop("criteria", axis=1, inplace=True)
In [17]:
df.reset_index(drop=True, inplace=True)
In [18]:
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5618 entries, 0 to 5617
Data columns (total 13 columns):
 #   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
 0   title            5618 non-null   object
 1   company          5618 non-null   object
 2   description      5618 non-null   object
 3   onsite_remote    5618 non-null   object
 4   salary           965 non-null    object
 5   location         5618 non-null   object
 6   posted_date      5618 non-null   object
 7   link             5618 non-null   object
 8   country          5618 non-null   object
 9   Seniority level  5241 non-null   object
 10  Employment type  5527 non-null   object
 11  Job function     5241 non-null   object
 12  Industries       5239 non-null   object
dtypes: object(13)
memory usage: 570.7+ KB

Some Seniority Levels are "Not Applicable"¶

Let's change those to Nan

In [19]:
df["Seniority level"] = df["Seniority level"].replace("Not Applicable", np.nan)
df["Seniority level"].info()
<class 'pandas.core.series.Series'>
RangeIndex: 5618 entries, 0 to 5617
Series name: Seniority level
Non-Null Count  Dtype 
--------------  ----- 
3841 non-null   object
dtypes: object(1)
memory usage: 44.0+ KB
In [20]:
df.to_csv("Linkedin_Jobs_American_and_Canadian.csv")

1.3 Wandb Exploration¶

Let's use Wandb to make understanding fundamental data easier

Credit to https://www.kaggle.com/code/ayuraj/interactive-eda-using-w-b-tables/notebook for code and inspiration

In [21]:
# !pip install -q --upgrade wandb
In [22]:
# # Import wandb
# import wandb

# try:
#     from kaggle_secrets import UserSecretsClient
#     user_secrets = UserSecretsClient()
#     secret_value_0 = user_secrets.get_secret("wandb_api")
#     wandb.login(key=secret_value_0)
    
#     anony=None
# except Exception as e:
    
#     anony = "must"
#     print('If you want to use your W&B account, go to Add-ons -> Secrets and add your W&B access token. Use the Label name as "wandb_api". \nGet your W&B access token from here: https://wandb.ai/authorize')
In [23]:
# run = wandb.init(project='eda', anonymous=None) # W&B Code 1
In [24]:
# # Initialize a W&B run to log images
# data_at = wandb.Table(columns=df.columns.tolist()) # W&B Code 2
# for i in tqdm(range(len(df))):
#     row = df.loc[i]
#     data_at.add_data(*tuple(row.values[0:])) # W&B Code 3

# wandb.log({'LinkedIn Job Data': data_at}) # W&B Code 4
# wandb.finish() # W&B Code 5

1.4 Exploring Columns¶

In [25]:
df.info()   
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5618 entries, 0 to 5617
Data columns (total 13 columns):
 #   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
 0   title            5618 non-null   object
 1   company          5618 non-null   object
 2   description      5618 non-null   object
 3   onsite_remote    5618 non-null   object
 4   salary           965 non-null    object
 5   location         5618 non-null   object
 6   posted_date      5618 non-null   object
 7   link             5618 non-null   object
 8   country          5618 non-null   object
 9   Seniority level  3841 non-null   object
 10  Employment type  5527 non-null   object
 11  Job function     5241 non-null   object
 12  Industries       5239 non-null   object
dtypes: object(13)
memory usage: 570.7+ KB
In [26]:
fig1 = px.pie(df["title"].value_counts().reset_index(), names="index", values="title", color="index",
             color_discrete_sequence=px.colors.qualitative.Pastel2)
remove_px_attributes(fig1)
fig1.update_traces(textinfo=None, textposition="inside")
fig1.add_annotation(text=f"Sample Size: {sum(~df['title'].isnull())}", xref="paper", yref="paper", xanchor="right",
                   yanchor="top", x=1, y=-0.1, ax=0, ay=0)
fig1.update_layout(
    uniformtext_minsize=9, uniformtext_mode="hide",
    title=dict(
    text="Types of Jobs in Dataset",
    x=0.05,
    xanchor="left"
), margin=dict(t=100))
In [27]:
df["posted_date"] = df["posted_date"].astype(str)
In [28]:
fig2 = px.line(df["posted_date"].value_counts().sort_index())
fig2.update_yaxes(title="Number of Jobs")
fig2.update_xaxes(title="Posted Date")
fig2.update_layout(title="Number of Jobs Over Time", margin=dict(r=50))
fig2.update_traces(hovertemplate="<b>Date:</b> %{x}<br><b>Number of Jobs:</b> %{y}<br>", mode="lines+markers")
fig2.add_annotation(text=f"Sample Size: {sum(~df['posted_date'].isnull())}", xref="paper", yref="paper", xanchor="right",
                   yanchor="top", x=1, y=-0.1, ax=0, ay=0)
fig2
In [29]:
fig3 = px.histogram(df, x="onsite_remote", color="onsite_remote")
remove_px_attributes(fig3)
add_annotation_for_figure(fig3, f"Sample Size:  {sum(~df['onsite_remote'].isnull())}", 
                          x_anchor="right", x=1)
fig3.update_yaxes(title=dict(text="count", standoff=20))
fig3.update_xaxes(title="onsite_remote")
fig3.update_layout(title="Number of Jobs by Work Style", margin=dict(l=100), coloraxis_showscale=False)
In [30]:
fig4 = px.pie(df["Industries"].value_counts().reset_index(), names="index", values="Industries",
              color_discrete_sequence=px.colors.qualitative.Set3)
remove_px_attributes(fig4)
add_annotation_for_figure(fig4, f"Sample Size:  {sum(df['Industries'].isnull() == False)}", 
                          x_anchor="right", x=1)
fig4.update_layout(
    uniformtext_minsize=12, uniformtext_mode="hide", title=dict(
    text="Jobs by Sector",
    xanchor="left",
    font_size=20,
    x=0.05,
    y=0.95)
)
fig4.update_traces(textposition="inside", texttemplate="%{percent}")
fig4

# for i, trace in enumerate(fig4.data):
#     print(trace["name"])
#     if not trace["name"] in items_to_show:
#         fig4.data[i]["showlegend"] = False
In [31]:
fig5 = px.pie(df["Job function"].value_counts().reset_index(), names="index", values="Job function",
              color_discrete_sequence=px.colors.qualitative.Set3)
remove_px_attributes(fig5)
add_annotation_for_figure(fig5, f"Sample Size:  {sum(df['Job function'].isnull() == False)}", 
                          x_anchor="right", x=1)
fig5.update_layout(
    uniformtext_minsize=12, uniformtext_mode="hide", title=dict(
    text="Jobs by Function",
    xanchor="left",
    font_size=20,
    x=0.05,
    y=0.95)
)
fig5.update_traces(textposition="inside", texttemplate="%{percent}")
fig5

# for i, trace in enumerate(fig4.data):
#     print(trace["name"])
#     if not trace["name"] in items_to_show:
#         fig4.data[i]["showlegend"] = False
In [32]:
fig6 = px.histogram(df, x="Employment type", color="Employment type")
remove_px_attributes(fig6)
add_annotation_for_figure(fig6, f"Jobs by Employment Type:  {sum(df['Employment type'].isnull() == False)}", 
                          x_anchor="right", x=1)
fig6.update_yaxes(title=dict(text="count", standoff=20))
fig6.update_xaxes(title="Employment type")
fig6.update_layout(title="Number of Jobs by Employment Type", margin=dict(l=100), coloraxis_showscale=False)
In [33]:
df.loc[~df["salary"].isnull(), "salary"]
Out[33]:
16      $100,000.00\r\n            -\r\n            $1...
48      $50,000.00\r\n            -\r\n            $55...
70      $100,000.00\r\n            -\r\n            $1...
122     $100,000.00\r\n            -\r\n            $1...
176     $100,000.00\r\n            -\r\n            $1...
                              ...                        
5607        $30.00\r\n            -\r\n            $33.00
5609    $120,000.00\r\n            -\r\n            $1...
5614    $75,000.00\r\n            -\r\n            $95...
5616    $85,000.00\r\n            -\r\n            $95...
5617    $130,000.00\r\n            -\r\n            $1...
Name: salary, Length: 965, dtype: object
In [34]:
df_salary = pd.DataFrame()
salary_data = df["salary"].replace("[\r\n\s,]+", "", regex=True) \
                          .replace("CA", "", regex=True) # replace spaces and unexpected text

salaries = salary_data.str.split("-")

## Left bound and upper bound salaries
df_salary["salary_lb"] = salaries.str[0].str.strip("$").astype(float)
df_salary["salary_ub"] = salaries.str[1].str.strip("$").astype(float)
df_salary["salary_text"] = salary_data
In [35]:
df_salary.head()
Out[35]:
salary_lb salary_ub salary_text
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
3 NaN NaN NaN
4 NaN NaN NaN
In [36]:
df_salary.describe()
Out[36]:
salary_lb salary_ub
count 965.000000 965.000000
mean 50985.354238 61313.719047
std 49165.472000 58034.939059
min 22.000000 24.000000
25% 40.000000 60.000000
50% 60000.000000 80000.000000
75% 90000.000000 115000.000000
max 135000.000000 155000.000000
In [37]:
fig = px.histogram(df_salary, x="salary_lb")
fig.update_layout(title="Distribution of Salary (Lower Bound Distribution)")
add_annotation_for_figure(fig, f"Sample Size: {sum(~df_salary['salary_lb'].isnull())}")
fig

We can see the salary values are bimodal, perhaps even trimodal. Some salaries are written as hourly salaries, while some appear to be monthly and other salaries appear to be annual.

Let's break down the salary ranges

In [38]:
df_salary_hourly = df_salary.loc[df_salary["salary_lb"] <= 2000] 
In [39]:
df_salary_hourly.describe()
Out[39]:
salary_lb salary_ub
count 411.000000 411.000000
mean 42.109100 52.807494
std 12.739683 19.832016
min 22.000000 24.000000
25% 30.000000 33.000000
50% 40.000000 60.000000
75% 50.000000 60.000000
max 135.000000 145.000000
In [40]:
df_salary.loc[(df_salary["salary_lb"] >= 3000) & (df_salary["salary_lb"] <= 7000)] 
Out[40]:
salary_lb salary_ub salary_text
198 5800.0 6000.0 $5800.00-$6000.00
284 5800.0 6000.0 $5800.00-$6000.00
346 5800.0 6000.0 $5800.00-$6000.00
438 5800.0 6000.0 $5800.00-$6000.00
486 5800.0 6000.0 $5800.00-$6000.00
586 5800.0 6000.0 $5800.00-$6000.00
686 5800.0 6000.0 $5800.00-$6000.00
738 5800.0 6000.0 $5800.00-$6000.00
798 5800.0 6000.0 $5800.00-$6000.00
886 5800.0 6000.0 $5800.00-$6000.00
936 5800.0 6000.0 $5800.00-$6000.00
1084 5800.0 6000.0 $5800.00-$6000.00
1134 5800.0 6000.0 $5800.00-$6000.00
1332 5800.0 6000.0 $5800.00-$6000.00
1382 5800.0 6000.0 $5800.00-$6000.00
1532 5800.0 6000.0 $5800.00-$6000.00
1582 5800.0 6000.0 $5800.00-$6000.00
1636 5800.0 6000.0 $5800.00-$6000.00
1748 5800.0 6000.0 $5800.00-$6000.00
1782 5800.0 6000.0 $5800.00-$6000.00
1894 5800.0 6000.0 $5800.00-$6000.00

I think it's safe the say that the salary date being provided is multimodal. Let's convert these salaries to annual salaries

In [41]:
df_salary.loc[df_salary["salary_lb"] <= 2000, ["salary_lb", "salary_ub"]]  = df_salary.loc[df_salary["salary_lb"] <= 2000, ["salary_lb", "salary_ub"]] * 40 * 4 * 12  
In [42]:
df_salary.loc[(df_salary["salary_lb"] >= 3000) & (df_salary["salary_lb"] <= 7000), ["salary_lb", "salary_ub"]] = \
df_salary.loc[(df_salary["salary_lb"] >= 3000) & (df_salary["salary_lb"] <= 7000), ["salary_lb", "salary_ub"]] * 12
In [43]:
df_salary["salary_text"] = "$" + df_salary["salary_lb"].astype(str) + "-" + df_salary["salary_ub"].astype(str) 

Check distribution of salaries again

In [44]:
fig = px.histogram(df_salary, x="salary_lb")
fig.update_layout(title="Distribution of Salary (Lower Bound Distribution)")
add_annotation_for_figure(fig, f"Sample Size: {sum(~df_salary['salary_lb'].isnull())}")
fig
In [45]:
fig = px.histogram(df_salary, x="salary_ub")
fig.update_layout(title="Distribution of Salary (Lower Bound Distribution)")
add_annotation_for_figure(fig, f"Sample Size: {sum(~df_salary['salary_ub'].isnull())}")
fig

much better!

In [46]:
df_salary_analysis = df_salary.merge(df, left_index=True, right_index=True)
In [47]:
for column in df_salary_analysis:
    print(f"{column}:", len(df_salary_analysis[column].unique()))
salary_lb: 29
salary_ub: 34
salary_text: 49
title: 135
company: 305
description: 362
onsite_remote: 3
salary: 49
location: 148
posted_date: 50
link: 5618
country: 2
Seniority level: 5
Employment type: 5
Job function: 54
Industries: 78
In [48]:
df_salary_analysis["Seniority level"].unique()
Out[48]:
array([nan, 'Entry level', 'Associate', 'Mid-Senior level', 'Executive'],
      dtype=object)
In [49]:
df_salary_analysis["Employment type"].unique()
Out[49]:
array(['Full-time', nan, 'Contract', 'Temporary', 'Volunteer'],
      dtype=object)
In [50]:
df_salary_analysis.groupby("Seniority level").agg({"salary_ub": "mean"})
Out[50]:
salary_ub
Seniority level
Associate 102122.623907
Entry level 61621.880342
Executive NaN
Mid-Senior level 122456.738164
In [51]:
encode_df = df_salary_analysis.copy()
In [52]:
encode_df["Seniority level"].replace({"Entry level" : 1, "Associate" : 2, "Mid-Senior level" : 3, "Executive" : 4}, inplace=True)
encode_df["Employment type"].replace({"Volunteer" : 1, "Temporary" : 2, "Contract" : 3, "Full-time" : 4}, inplace=True)
In [53]:
fig = px.imshow(encode_df.corr(), color_continuous_scale="BuGn")
fig.update_layout(title=dict(text="Correlations Between Job Attributes", x=0.05, y=0.96, xanchor="left", font_size=24),
                  margin=dict(b=160))

Findings:

  • Salary has a somewhat strong correlation with seniority level. This is expected
In [54]:
fig7 = px.box(df_salary_analysis, x="salary_lb", color="Seniority level")
remove_px_attributes(fig7)
add_annotation_for_figure(fig7, f"Sample Size: {min(sum(~df_salary_analysis['salary_lb'].isnull()), sum(~df_salary_analysis['Seniority level'].isnull()))}",
                          x_anchor="center", x=1.1)
fig7.update_layout(showlegend=True, title="Salary (Lower Bound) Based on Seniority Level")
fig7.update_xaxes(showgrid=True)
fig7.update_traces(hoverinfo="x")

1.5 Make Our Linkedin Job Analysis Dashboard¶

In [55]:
from plotly.subplots import make_subplots
class BreakLoop(Exception):
    pass

def generate_subplots(figures, custom_specs=None, desired_rows=None, desired_columns=None, titles=None,
                      auto_position=True, custom_positions=None):

    '''
        For each figure, append their traces to new subplot figure
        based on the correct row and col indices
    '''
    NUM_FIGURES = len(figures)
    DESIRED_ROWS = desired_rows
    DESIRED_COLUMNS = desired_columns
    # num_traces = sum([len(figure.data) for figure in figures])
    # if desired_rows is not None:
    #     desired_columns = num_figures // desired_rows + 1 

    # if desired_columns is not None:
    #     desired_rows = num_figures // desired_columns + 1

    specs = None
    specs_positions = None
    
    
    ######### Default Specs ######################
    if custom_specs is None:
        
        specs = np.full((DESIRED_ROWS, DESIRED_COLUMNS), {})
        specs_positions = [(i,j) for i in DESIRED_ROWS for j in DESIRED_COLUMNS]
        k = 0

        # Populate all figures from top-left to bottom-right into specs
        for i in range(DESIRED_ROWS):
            for j in range(DESIRED_COLUMNS):
                new_dict = {}
                new_dict["type"] = figures[k]["data"][0]["type"]
                specs[i][j] = new_dict
                k += 1
            
            if k >= NUM_FIGURES:
                break

        specs = specs.tolist()
    
    ######## Custom Specs ########################
    else:
        specs = custom_specs
         
        # find specs positions based on col_span and row_span
        specs_positions = []

        if auto_position:
            try:
                for i, spec_row in enumerate(specs):
                    for j, spec_value in enumerate(spec_row):
                        if spec_value is None:
                            continue
                        
                        # find first position
                        specs_positions.append((i+1, j+1))
                        raise BreakLoop("Broke out of Pythonic Loop") # Python is very bad at breaking out of a double for loop
                    
            except BreakLoop as e:
                pass
    
            row, col = specs_positions.pop()
            
            # Work with Pythonic grid instead of Plotly grid, which starts at (1,1) top-left instead of (0,0) top-left
            row -= 1
            col -= 1

            for _ in range(NUM_FIGURES):
                this_figure_row = row
                this_figure_column = col
                specs_dict = specs[row][col]
                specs_positions.append((row + 1, col + 1))
                if specs_dict is None:
                    raise Exception(
                        "Your figures should not be drawn in an empty subplot. Please make sure to indicate the correct number of blank rows/cols"
                        "or colspan/rowspan going after a figure if necessary" 
                    )

                # add col_blank + row_blank positional changes and remove attributes from specs dictionary
                if "col_blank" in specs_dict:
                    col += (specs_dict["col_blank"] + 1)
                    del specs_dict["col_blank"]

                if "row_blank" in specs_dict:
                    row += (specs_dict["row_blank"] + 1)
                    del specs_dict["row_blank"]
                 
                specs[this_figure_row][this_figure_column] = specs_dict

                # Adjust implicitly and explicity to colspan and rowspan
                if "colspan" in specs_dict:
                    col += specs_dict["colspan"]
                else:
                    col += 1
                
                
                if "rowspan" in specs_dict:
                    # rowspan moves independently of col operations
                    row += specs_dict["rowspan"]
                else:
                    if col >= DESIRED_COLUMNS:
                        row += 1
                
                if col >= DESIRED_COLUMNS:                 
                    col = 0
        else:
            specs_positions = custom_positions
                
    all_titles = []
    if titles is None:
         all_titles = [fig.layout.title.text if "title" in fig.layout else '' for fig in figures]
             

    fig = make_subplots(DESIRED_ROWS, DESIRED_COLUMNS,
                        specs=specs,
                        subplot_titles=all_titles
                        )

    assert len(specs_positions) == len(figures), "Length of specs positions not the same as number of figures"
    for i, figure in enumerate(figures):
        specs_row, specs_col = specs_positions[i]
        for trace in figure["data"]:
            fig.append_trace(
                trace, row=specs_row, col=specs_col
            )

        col += 1
    fig.update_layout(template="bnw")

    return fig

# fig1 = go.Figure(go.Scatter(x=[1,2,3], y=[4,5,6], mode="lines+markers"))
# fig2 = px.line(x=[1,2,3], y=[7,8,9])
# fig2.update_traces(line=dict(color="firebrick"), mode="lines")
# remove_px_attributes(fig2, remove_hovertemplate=True, remove_mode=False)
# fig3 = px.bar(pd.DataFrame({"a" : [1,1,3], "b": [7,8,9], "c" : ["blue", "brown", "brown"]}),
#               x="a", y="b", color="c")
# remove_px_attributes(fig3)


# specs=[
#     [{}, {}],
#     [{"colspan": 2}, None]
# ]
# figs = [fig1, fig2, fig3]
# generate_subplots(figs, custom_specs=specs, desired_rows=2)
# help(make_subplots)
In [56]:
figures = [fig1, fig4, fig5, fig2, fig3, fig6, fig7]
specs = [
    [{"type" : "pie", "colspan" : 2}, None, {"type" : "pie", "colspan" : 2}, None, {"type" : "pie", "colspan" : 2}, None],
    [{"type" : "scatter", "colspan" : 6}, None, None, None, None, None],
    [{"type" : "histogram", "colspan" : 3}, None, None, {"type" : "histogram", "colspan" : 3}, None, None],
    [{"type" : "box", "colspan" : 6, "rowspan" : 2}, None, None, None, None, None],
    [None, None, None, None,None, None]
]

fig = generate_subplots(figures, desired_rows = 5, desired_columns = 6, custom_specs=specs)
fig.update_layout(height=1000, title=dict(
        text="Linkedin Job Dataset Data Report",
        xanchor="left",
        x=0.05,
        font_size=50
    ),
    margin=dict(t=200),
)
In [57]:
go.FigureWidget(data=fig7["data"], layout=fig7["layout"])
Out[57]:
FigureWidget({
    'data': [{'alignmentgroup': 'True',
              'hoverinfo': 'x',
              'legendgroup': 'Entry level',
              'marker': {'color': '#FF7F0E'},
              'name': 'Entry level',
              'notched': False,
              'offsetgroup': 'Entry level',
              'orientation': 'h',
              'showlegend': True,
              'type': 'box',
              'uid': 'c76cfe63-000c-46db-8ef5-8d65805a782a',
              'x': array([   nan,    nan,    nan, ...,    nan, 42240., 57600.]),
              'x0': ' ',
              'xaxis': 'x',
              'y0': ' ',
              'yaxis': 'y'},
             {'alignmentgroup': 'True',
              'hoverinfo': 'x',
              'legendgroup': 'Associate',
              'marker': {'color': '#2CA02C'},
              'name': 'Associate',
              'notched': False,
              'offsetgroup': 'Associate',
              'orientation': 'h',
              'showlegend': True,
              'type': 'box',
              'uid': '0b024056-e262-41ca-acc0-73fccc60a03b',
              'x': array([100000.,     nan, 100000., ...,     nan, 120000.,     nan]),
              'x0': ' ',
              'xaxis': 'x',
              'y0': ' ',
              'yaxis': 'y'},
             {'alignmentgroup': 'True',
              'hoverinfo': 'x',
              'legendgroup': 'Mid-Senior level',
              'marker': {'color': '#D62728'},
              'name': 'Mid-Senior level',
              'notched': False,
              'offsetgroup': 'Mid-Senior level',
              'orientation': 'h',
              'showlegend': True,
              'type': 'box',
              'uid': '24f47108-9ca3-43b6-a5b9-bc9766a04582',
              'x': array([    nan,     nan,     nan, ...,     nan,  75000., 130000.]),
              'x0': ' ',
              'xaxis': 'x',
              'y0': ' ',
              'yaxis': 'y'},
             {'alignmentgroup': 'True',
              'hoverinfo': 'x',
              'legendgroup': 'Executive',
              'marker': {'color': '#9467BD'},
              'name': 'Executive',
              'notched': False,
              'offsetgroup': 'Executive',
              'orientation': 'h',
              'showlegend': True,
              'type': 'box',
              'uid': '5ede6670-f04e-4f8b-80f9-cb5786c15f88',
              'x': array([nan, nan]),
              'x0': ' ',
              'xaxis': 'x',
              'y0': ' ',
              'yaxis': 'y'}],
    'layout': {'annotations': [{'ax': 0,
                                'ay': 0,
                                'font': {'size': 16},
                                'text': 'Sample Size: 965',
                                'x': 1.1,
                                'xanchor': 'center',
                                'xref': 'paper',
                                'y': -0.1,
                                'yanchor': 'top',
                                'yref': 'paper'}],
               'boxmode': 'group',
               'legend': {'title': {'text': 'Seniority level'}, 'tracegroupgap': 0},
               'margin': {'t': 60},
               'showlegend': True,
               'template': '...',
               'title': {'text': 'Salary (Lower Bound) Based on Seniority Level'},
               'xaxis': {'anchor': 'y', 'domain': [0.0, 1.0], 'showgrid': True, 'title': {'text': 'salary_lb'}},
               'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0]}}
})
In [58]:
from ipywidgets import Button, Layout, jslink, IntText, IntSlider, GridspecLayout, HBox, VBox

grid = GridspecLayout(4, 1)

def create_expanded_button(description, button_style):
    return Button(description=description, button_style=button_style, layout=Layout(height='auto', width='auto'))

for i in range(4):
    for j in range(1):
        grid[i, j] = create_expanded_button('Button {} - {}'.format(i, j), 'warning')
grid
Out[58]:
GridspecLayout(children=(Button(button_style='warning', description='Button 0 - 0', layout=Layout(grid_area='w…
In [61]:
def convert_figures_to_figurewidgets(figures : list[go.Figure]):
    return [go.FigureWidget(data=[trace.to_plotly_json() for trace in figure["data"]], 
                            layout=figure["layout"]) for figure in figures]

def generate_gridspec(figures, custom_specs=None, desired_rows=None, desired_columns=None, titles=None,
                      auto_position=True, custom_positions=None):
    '''
        1. Convert figures into FigureWidgets
        2. Prepare GridSpec
        3. Traverse all figures through the specs object
            a. For each figure traversed, add it to GridSpec
    '''
        
    NUM_FIGURES = len(figures)
    DESIRED_ROWS = desired_rows
    DESIRED_COLUMNS = desired_columns
    # num_traces = sum([len(figure.data) for figure in figures])
    # if desired_rows is not None:
    #     desired_columns = num_figures // desired_rows + 1 

    # if desired_columns is not None:
    #     desired_rows = num_figures // desired_columns + 1

    specs = None
    specs_positions = None
    figures = convert_figures_to_figurewidgets(figures)
    grid = GridspecLayout(DESIRED_ROWS, DESIRED_COLUMNS)


    # find specs positions based on col_span and row_span
    if custom_specs:
        try:
            for i, spec_row in enumerate(specs):
                for j, spec_value in enumerate(spec_row):
                    if spec_value is None:
                        continue
                    
                    # find first position
                    specs_positions.append((i+1, j+1))
                    raise BreakLoop("Broke out of Pythonic Loop") # Python is very bad at breaking out of a double for loop
                
        except BreakLoop as e:
            pass

        row, col = specs_positions.pop()
        
        # Work with Pythonic grid instead of Plotly grid, which starts at (1,1) top-left instead of (0,0) top-left
        row -= 1
        col -= 1

        for i in range(NUM_FIGURES):
            this_figure_row = row
            this_figure_column = col
            specs_dict = specs[row][col]
            if specs_dict is None:
                raise Exception(
                    "Your figures should not be drawn in an empty subplot. Please make sure to indicate the correct number of blank rows/cols"
                    "or colspan/rowspan going after a figure if necessary" 
                )

            # add col_blank + row_blank positional changes and remove attributes from specs dictionary
            if "col_blank" in specs_dict:
                col += (specs_dict["col_blank"] + 1)

            if "row_blank" in specs_dict:
                row += (specs_dict["row_blank"] + 1)

            # Adjust implicitly and explicity to colspan and rowspan
            if "colspan" in specs_dict:
                col += specs_dict["colspan"]
            else:
                col += 1
            
            
            if "rowspan" in specs_dict:
                # rowspan moves independently of col operations
                row += specs_dict["rowspan"]
            else:
                if col >= DESIRED_COLUMNS:
                    row += 1
            
            if col >= DESIRED_COLUMNS:                 
                col = 0

            if this_figure_row == row:
                grid[row, this_figure_column:column] = figures[i]
            else:
                grid[this_figure_row:row, this_figure_column:column] = figures[i]
            
    else:
        specs = np.full((DESIRED_ROWS, DESIRED_COLUMNS), {})
        k = 0
        # Populate all figures from top-left to bottom-right into specs
        for i in range(DESIRED_ROWS):
            for j in range(DESIRED_COLUMNS):
                grid[i, j] = figures[k]
                k += 1
            
            if k >= NUM_FIGURES:
                break
    
    return grid

Subplot customization has poor design in Plotly, since we can't load layouts into each subplot figure. Let's use IPyWidgets to plot instead

In [62]:
jup_figures = convert_figures_to_figurewidgets(figures)
c:\Users\harri\miniconda3\envs\py310_notebook_env\lib\site-packages\jupyter_client\session.py:719: UserWarning:

Message serialization failed with:
Out of range float values are not JSON compliant
Supporting this message is deprecated in jupyter-client 7, please make sure your message is JSON-compliant

In [64]:
jup_figure_1 = jup_figures[0]
In [78]:
jup_figure_1_data = jup_figures[0]["data"]
jup_figure_1_data_json = jup_figure_1_data[0].to_plotly_json()
jup_figure_1_data_json.keys()
Out[78]:
dict_keys(['customdata', 'domain', 'labels', 'legendgroup', 'marker', 'name', 'showlegend', 'textposition', 'values', 'type', 'uid'])
In [88]:
pie_charts = VBox([jup_figures[0], jup_figures[1], jup_figures[2]])
bar_charts = VBox([jup_figures[4], jup_figures[5]])
time_chart = jup_figures[3]
salary_chart_by_seniority = jup_figures[6]
In [89]:
report = VBox([pie_charts, bar_charts, time_chart, salary_chart_by_seniority], layout=dict(height="3000px", margin="0px 0px 0px 0px", padding="0px 0px 0px 0px"))
In [126]:
from IPython.display import display
display(report)
VBox(children=(VBox(children=(FigureWidget({
    'data': [{'customdata': array([['Data Analyst'],
            …
In [109]:
from ipywidgets import IntSlider
from ipywidgets.embed import embed_minimal_html, embed_data
slider = IntSlider(value=40)
embed_minimal_html('new.html', views=[slider], title='Widgets export')
In [ ]:
from ipywidgets import IntSlider
from ipywidgets.embed import embed_minimal_html, embed_data
from IPython.display import HTML
# container = HTML('<div id="my-widget-container"></div>')
# data = embed_data(report)
# container.value = f'<script type="application/vnd.jupyter.widget-view+json">{data}</script>'
In [100]:
data["manager_state"]
Out[100]:
{'version_major': 2,
 'version_minor': 0,
 'state': {'1dc6cc33d528457e85a6c305ff4a43c0': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Entry level',
      'marker': {'color': '#FF7F0E'},
      'name': 'Entry level',
      'notched': False,
      'offsetgroup': 'Entry level',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (976,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': 'c76cfe63-000c-46db-8ef5-8d65805a782a'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Associate',
      'marker': {'color': '#2CA02C'},
      'name': 'Associate',
      'notched': False,
      'offsetgroup': 'Associate',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (1181,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': '0b024056-e262-41ca-acc0-73fccc60a03b'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Mid-Senior level',
      'marker': {'color': '#D62728'},
      'name': 'Mid-Senior level',
      'notched': False,
      'offsetgroup': 'Mid-Senior level',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (1682,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': '24f47108-9ca3-43b6-a5b9-bc9766a04582'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Executive',
      'marker': {'color': '#9467BD'},
      'name': 'Executive',
      'notched': False,
      'offsetgroup': 'Executive',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (2,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': '5ede6670-f04e-4f8b-80f9-cb5786c15f88'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Sample Size: 965',
       'x': 1.1,
       'xanchor': 'center',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'boxmode': 'group',
     'legend': {'title': {'text': 'Seniority level'}, 'tracegroupgap': 0},
     'margin': {'t': 60},
     'showlegend': True,
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Salary (Lower Bound) Based on Seniority Level'},
     'xaxis': {'anchor': 'y',
      'domain': [0.0, 1.0],
      'showgrid': True,
      'title': {'text': 'salary_lb'}},
     'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0]},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1},
   'buffers': [{'encoding': 'base64',
     'path': ['_data', 0, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANvqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEEAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEEAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAQOpAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAQOpAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAg7EA='},
    {'encoding': 'base64',
     'path': ['_data', 1, 'x', 'buffer'],
     'data': 'AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAMB6AEEAAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAADAegBBAAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAMB6AEEAAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATO1AAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAIBP8kAAAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACkD0EAAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEztQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGjwQAAAAAAAAPh/AAAAAAC970AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAaPBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAACA++9AAAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAaPBAAAAAAAAA+H8AAAAAAL3vQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGjwQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAL3vQAAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fw=='},
    {'encoding': 'base64',
     'path': ['_data', 2, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAMB6AEEAAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAMB6AEEAAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBzMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEHMzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAvf9AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAvf9AAAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAL3/QA=='},
    {'encoding': 'base64',
     'path': ['_data', 3, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fw=='}]},
  '6b70e83fced94b9f8c74a2987dae3fcc': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'grid_template_areas': '"widget001"\n"widget002"\n"widget003"\n"widget004"',
    'grid_template_columns': 'repeat(1, 1fr)',
    'grid_template_rows': 'repeat(4, 1fr)'}},
  '8b34ea9d49cf462c93a919456ed07c81': {'model_name': 'GridBoxModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'children': ['IPY_MODEL_ac38ca287c0340d9b53a2246397a193d',
     'IPY_MODEL_02a976f84d744a77a6d1f643f8f84712',
     'IPY_MODEL_3fbef62840bf49efa96dc44849800a43',
     'IPY_MODEL_fc79e3c0300c43d4927b806faf4425e0'],
    'layout': 'IPY_MODEL_6b70e83fced94b9f8c74a2987dae3fcc'}},
  'd5dfc756887b4212aca4d4c5109607c3': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'grid_area': 'widget001', 'height': 'auto', 'width': 'auto'}},
  'cfcacbff934e45228c0831203216e558': {'model_name': 'ButtonStyleModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {}},
  'ac38ca287c0340d9b53a2246397a193d': {'model_name': 'ButtonModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'button_style': 'warning',
    'description': 'Button 0 - 0',
    'layout': 'IPY_MODEL_d5dfc756887b4212aca4d4c5109607c3',
    'style': 'IPY_MODEL_cfcacbff934e45228c0831203216e558'}},
  '00779b3d5e454509aa729a508a1811f2': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'grid_area': 'widget002', 'height': 'auto', 'width': 'auto'}},
  '5c0e1098a67e4159bb935255e9df3314': {'model_name': 'ButtonStyleModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {}},
  '02a976f84d744a77a6d1f643f8f84712': {'model_name': 'ButtonModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'button_style': 'warning',
    'description': 'Button 1 - 0',
    'layout': 'IPY_MODEL_00779b3d5e454509aa729a508a1811f2',
    'style': 'IPY_MODEL_5c0e1098a67e4159bb935255e9df3314'}},
  'f6a551bca02a440483ea4f587b3cf72c': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'grid_area': 'widget003', 'height': 'auto', 'width': 'auto'}},
  '0b5ee77dd439428c8cc7ab541212b159': {'model_name': 'ButtonStyleModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {}},
  '3fbef62840bf49efa96dc44849800a43': {'model_name': 'ButtonModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'button_style': 'warning',
    'description': 'Button 2 - 0',
    'layout': 'IPY_MODEL_f6a551bca02a440483ea4f587b3cf72c',
    'style': 'IPY_MODEL_0b5ee77dd439428c8cc7ab541212b159'}},
  '11c92d32d9cb4e6f8ae548e985da33a2': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'grid_area': 'widget004', 'height': 'auto', 'width': 'auto'}},
  '594d576cd12947b18e39c61e628b9c4c': {'model_name': 'ButtonStyleModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {}},
  'fc79e3c0300c43d4927b806faf4425e0': {'model_name': 'ButtonModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'button_style': 'warning',
    'description': 'Button 3 - 0',
    'layout': 'IPY_MODEL_11c92d32d9cb4e6f8ae548e985da33a2',
    'style': 'IPY_MODEL_594d576cd12947b18e39c61e628b9c4c'}},
  '3bda9815b3fd4e67a610e22ad6e80ca8': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'customdata': [['Data Analyst'],
       ['Data Analyst - Recent Graduate'],
       ['Senior Data Analyst'],
       ['Junior Data Analyst'],
       ['Senior Data Analyst, Analytics & Insights (Toronto, ON)'],
       ['Data Analyst - (Remote - US)'],
       ['Sr. Data Analyst'],
       ['Data Analyst (Remote)'],
       ['Insights Analyst'],
       ['Business Data Analyst'],
       ['Data Analyst (12 Month Contract)'],
       ['Data Analyst (Hybrid)'],
       ['Data Analyst (Python/SQL)'],
       ['Associate Data Analyst'],
       ['Senior Data Analyst, APAC Marketplace'],
       ['SQL Data Analyst'],
       ['Data Analyst - Reporting'],
       ['Data Analyst, Operations'],
       ['Data Analyst/Developer'],
       ['Entry-Level Data Analyst'],
       ['Junior Data Analyst - Mississauga, ON'],
       ['Data Entry/ JR Analyst -6 Month Contract'],
       ['Data Analyst - Loans'],
       ['Quality Data Analyst'],
       ['Analyst, Data and Analytics'],
       ['Commercial Data Analyst'],
       ['Data Analyst (C117)'],
       ['Analyst (Global Data and Analytics)'],
       ['Data Analyst (Contract)'],
       ['Data Analyst, Flight Pricing Optimization'],
       ['Sector Data Analyst, Data Driven Investing'],
       ['Data Administrator/Data Analyst'],
       ['Data Analyst - Marketing'],
       ['Cognitive Data Analyst'],
       ['Analyst - Data Visualization'],
       ['Senior Data Analyst - Remote'],
       ['Product Data Analyst'],
       ['Data Visualization Developer/Analyst'],
       ['Data Analyst, Trilogy (Remote) - $60,000/year USD'],
       ['Senior Data Analyst (Toronto, ON)'],
       ['Data Analyst I (entry level)'],
       ['Product Data Analyst - WTFast'],
       ['Data Analyst (SQL)'],
       ['Data Analyst (Operations)'],
       ['Data Analytics Analyst'],
       ['Data Engineer'],
       ['Data Analyst - remote!'],
       ['Data Engineer - Remote, Full-Time'],
       ['Data Analyst/Forecasting Specialist'],
       ['Data Analyst, Money'],
       ['Data Research Analyst, Trilogy (Remote) - $60,000/year USD'],
       ['Data Analyst - Remote'],
       ['Gaming Data Analyst'],
       ['Senior Analytics Engineer (Remote)'],
       ['Data Analyst I'],
       ['Future Opportunities: Data Analyst & Report Specialist (Remote)'],
       ['Data Analyst / Consultant (Fire / EMS)'],
       ['Business Systems Analyst'],
       ['Online Data Analyst'],
       ['BI Reporting Analyst'],
       ['Data Engineer (Remote)'],
       ['Senior Data Analyst (Vancouver, BC)'],
       ['Data Science Analyst (Remote)'],
       ['PowerBI Specialist'],
       ['Cybersecurity Data Analyst'],
       ['Senior Data and Reporting Analyst'],
       ['Senior BI Analyst'],
       ['Technical Support Analyst'],
       ['Data Engineer, Totogi (Remote) - $60,000/year USD'],
       ['Data Engineer/Big Data Engineer'],
       ['Data Analyst with Guidewire Experience (Remote | US | Canada)'],
       ['IT Data Analyst - SQL, Banking Finance'],
       ['Analyste de données'],
       ['Data Analyst/Oracle'],
       ['HR Data Analyst'],
       ['Data Analysts'],
       ['Market Conduct Data Analyst - 4 month Co-Op'],
       ['Sr. Market Data Analyst'],
       ['Data Entry Analyst (Risk)'],
       ['ANALYSTE BI'],
       ['Principal Data Analyst'],
       ['Quantitative Data Intern'],
       ['Data Governance Analyst'],
       ['Analyst, Data Science- FR'],
       ['BUSINESS INTELLIGENCE ANALYST'],
       ['Data Specialist'],
       ['Data Analyst – Loans/Capital Markets'],
       ['Data Analyst (contract)'],
       ['REMOTE Data Analyst (SQL, Operations)'],
       ['Data Visualization Analyst'],
       ['Marketing Data Analyst'],
       ['Data Analyst (Global Remote)'],
       ['Data analyst'],
       ['Business Intelligence Analyst'],
       ['Business Data Analyst, Finance'],
       ['Digital Analyst'],
       ['Data Analyst/Collector'],
       ['Operational Data Analyst'],
       ['Campaign/Data Analyst'],
       ['Business Intelligence Analyst (FP&A)'],
       ['Data Analyst/ $100M Valuation/ Hybrid'],
       ['Consultant/Data Analyst'],
       ['Data Analyst - Weekly Hybrid Remote/Onsite Schedule'],
       ['Data Analyst - Energy'],
       ['Group Data Analyst'],
       ['Senior Analyst, Cyber Governance (Data Analytics)'],
       ['Data Engineer with AI &ML Analytics Platforms'],
       ['Data Engineer (Azure)'],
       ['Senior Data Governance Analyst'],
       ['Data Analyst - Land'],
       ['Junior Data Analyst-Entry Level'],
       ['Researcher'],
       ['Information Governance Analyst'],
       ['Data Analyst III - Remote'],
       ['Data Analyst 2'],
       ['Data Engineer - Data, AWS ,ETL'],
       ['Entry Level Data Analyst'],
       ['Data Engineer II'],
       ['BI/Analytics Consultant'],
       ['Job Opportunity: Data Stage Developer || Remote'],
       ['Data Engineer [Remote]'],
       ['Google Cloud Platform Analytics Engineer'],
       ['Cloud Data Analyst'],
       ['Google Analytics Engineer'],
       ['WFH//Data Analyst'],
       ['Data Analytics'],
       ['Data Analyst (SQL, Teraform, Tableau) III - Remote'],
       ['Data Engineer 1'],
       ['Senior Data Analyst (PowerBI)'],
       ['Analyst, Data Science- EN'],
       ['Data Science Analyst'],
       ['Analyst, Data Operations'],
       ['Information Analyst'],
       ['Graduate Geospatial Analyst (Available 2023)'],
       ['SEO Data Analyst']],
      'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},
      'labels': ['Data Analyst',
       'Data Analyst - Recent Graduate',
       'Senior Data Analyst',
       'Junior Data Analyst',
       'Senior Data Analyst, Analytics & Insights (Toronto, ON)',
       'Data Analyst - (Remote - US)',
       'Sr. Data Analyst',
       'Data Analyst (Remote)',
       'Insights Analyst',
       'Business Data Analyst',
       'Data Analyst (12 Month Contract)',
       'Data Analyst (Hybrid)',
       'Data Analyst (Python/SQL)',
       'Associate Data Analyst',
       'Senior Data Analyst, APAC Marketplace',
       'SQL Data Analyst',
       'Data Analyst - Reporting',
       'Data Analyst, Operations',
       'Data Analyst/Developer',
       'Entry-Level Data Analyst',
       'Junior Data Analyst - Mississauga, ON',
       'Data Entry/ JR Analyst -6 Month Contract',
       'Data Analyst - Loans',
       'Quality Data Analyst',
       'Analyst, Data and Analytics',
       'Commercial Data Analyst',
       'Data Analyst (C117)',
       'Analyst (Global Data and Analytics)',
       'Data Analyst (Contract)',
       'Data Analyst, Flight Pricing Optimization',
       'Sector Data Analyst, Data Driven Investing',
       'Data Administrator/Data Analyst',
       'Data Analyst - Marketing',
       'Cognitive Data Analyst',
       'Analyst - Data Visualization',
       'Senior Data Analyst - Remote',
       'Product Data Analyst',
       'Data Visualization Developer/Analyst',
       'Data Analyst, Trilogy (Remote) - $60,000/year USD',
       'Senior Data Analyst (Toronto, ON)',
       'Data Analyst I (entry level)',
       'Product Data Analyst - WTFast',
       'Data Analyst (SQL)',
       'Data Analyst (Operations)',
       'Data Analytics Analyst',
       'Data Engineer',
       'Data Analyst - remote!',
       'Data Engineer - Remote, Full-Time',
       'Data Analyst/Forecasting Specialist',
       'Data Analyst, Money',
       'Data Research Analyst, Trilogy (Remote) - $60,000/year USD',
       'Data Analyst - Remote',
       'Gaming Data Analyst',
       'Senior Analytics Engineer (Remote)',
       'Data Analyst I',
       'Future Opportunities: Data Analyst & Report Specialist (Remote)',
       'Data Analyst / Consultant (Fire / EMS)',
       'Business Systems Analyst',
       'Online Data Analyst',
       'BI Reporting Analyst',
       'Data Engineer (Remote)',
       'Senior Data Analyst (Vancouver, BC)',
       'Data Science Analyst (Remote)',
       'PowerBI Specialist',
       'Cybersecurity Data Analyst',
       'Senior Data and Reporting Analyst',
       'Senior BI Analyst',
       'Technical Support Analyst',
       'Data Engineer, Totogi (Remote) - $60,000/year USD',
       'Data Engineer/Big Data Engineer',
       'Data Analyst with Guidewire Experience (Remote | US | Canada)',
       'IT Data Analyst - SQL, Banking Finance',
       'Analyste de données',
       'Data Analyst/Oracle',
       'HR Data Analyst',
       'Data Analysts',
       'Market Conduct Data Analyst - 4 month Co-Op',
       'Sr. Market Data Analyst',
       'Data Entry Analyst (Risk)',
       'ANALYSTE BI',
       'Principal Data Analyst',
       'Quantitative Data Intern',
       'Data Governance Analyst',
       'Analyst, Data Science- FR',
       'BUSINESS INTELLIGENCE ANALYST',
       'Data Specialist',
       'Data Analyst – Loans/Capital Markets',
       'Data Analyst (contract)',
       'REMOTE Data Analyst (SQL, Operations)',
       'Data Visualization Analyst',
       'Marketing Data Analyst',
       'Data Analyst (Global Remote)',
       'Data analyst',
       'Business Intelligence Analyst',
       'Business Data Analyst, Finance',
       'Digital Analyst',
       'Data Analyst/Collector',
       'Operational Data Analyst',
       'Campaign/Data Analyst',
       'Business Intelligence Analyst (FP&A)',
       'Data Analyst/ $100M Valuation/ Hybrid',
       'Consultant/Data Analyst',
       'Data Analyst - Weekly Hybrid Remote/Onsite Schedule',
       'Data Analyst - Energy',
       'Group Data Analyst',
       'Senior Analyst, Cyber Governance (Data Analytics)',
       'Data Engineer with AI &ML Analytics Platforms',
       'Data Engineer (Azure)',
       'Senior Data Governance Analyst',
       'Data Analyst - Land',
       'Junior Data Analyst-Entry Level',
       'Researcher',
       'Information Governance Analyst',
       'Data Analyst III - Remote',
       'Data Analyst 2',
       'Data Engineer - Data, AWS ,ETL',
       'Entry Level Data Analyst',
       'Data Engineer II',
       'BI/Analytics Consultant',
       'Job Opportunity: Data Stage Developer || Remote',
       'Data Engineer [Remote]',
       'Google Cloud Platform Analytics Engineer',
       'Cloud Data Analyst',
       'Google Analytics Engineer',
       'WFH//Data Analyst',
       'Data Analytics',
       'Data Analyst (SQL, Teraform, Tableau) III - Remote',
       'Data Engineer 1',
       'Senior Data Analyst (PowerBI)',
       'Analyst, Data Science- EN',
       'Data Science Analyst',
       'Analyst, Data Operations',
       'Information Analyst',
       'Graduate Geospatial Analyst (Available 2023)',
       'SEO Data Analyst'],
      'legendgroup': '',
      'marker': {'colors': ['rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)',
        'rgb(204,204,204)',
        'rgb(179,226,205)',
        'rgb(253,205,172)',
        'rgb(203,213,232)',
        'rgb(244,202,228)',
        'rgb(230,245,201)',
        'rgb(255,242,174)',
        'rgb(241,226,204)']},
      'name': '',
      'showlegend': True,
      'textposition': 'inside',
      'values': [3373,
       183,
       183,
       139,
       68,
       62,
       61,
       40,
       38,
       38,
       38,
       38,
       38,
       37,
       37,
       37,
       37,
       37,
       37,
       37,
       37,
       37,
       37,
       37,
       36,
       36,
       36,
       36,
       36,
       36,
       36,
       36,
       35,
       35,
       35,
       34,
       34,
       34,
       34,
       34,
       34,
       34,
       25,
       22,
       21,
       16,
       10,
       8,
       7,
       7,
       6,
       6,
       5,
       4,
       4,
       4,
       4,
       4,
       4,
       4,
       3,
       3,
       3,
       3,
       3,
       3,
       3,
       3,
       3,
       3,
       3,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1,
       1],
      'type': 'pie',
      'uid': '3a2ec970-8481-46b2-994b-384e1425ec78'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'text': 'Sample Size: 5618',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'legend': {'tracegroupgap': 0},
     'margin': {'t': 100},
     'piecolorway': ['rgb(179,226,205)',
      'rgb(253,205,172)',
      'rgb(203,213,232)',
      'rgb(244,202,228)',
      'rgb(230,245,201)',
      'rgb(255,242,174)',
      'rgb(241,226,204)',
      'rgb(204,204,204)'],
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Types of Jobs in Dataset',
      'x': 0.05,
      'xanchor': 'left'},
     'uniformtext': {'minsize': 9, 'mode': 'hide'},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 3}},
  'b9c33679dae849a0bd6fbcfd1b6c932f': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},
      'labels': ['Software Development, Technology, Information and Internet, and Financial Services',
       'IT Services and IT Consulting',
       'Financial Services',
       'Staffing and Recruiting',
       'Technology, Information and Internet',
       'Advertising Services',
       'IT Services and IT Consulting and Software Development',
       'Retail Apparel and Fashion',
       'Business Consulting and Services',
       'Animation and Post-production',
       'Software Development',
       'Medical Equipment Manufacturing, Biotechnology Research, and Pharmaceutical Manufacturing',
       'Hospitals and Health Care',
       'Government Administration',
       'IT Services and IT Consulting, Advertising Services, and Software Development',
       'IT Services and IT Consulting, Software Development, and Hospitals and Health Care',
       'Retail',
       'Advertising Services and Technology, Information and Internet',
       'Retail Gasoline',
       'Savings Institutions',
       'Retail Apparel and Fashion, Manufacturing, and Retail',
       'Renewable Energy Semiconductor Manufacturing',
       'Telecommunications',
       'IT Services and IT Consulting and Motor Vehicle Manufacturing',
       'Higher Education',
       'Market Research',
       'IT Services and IT Consulting and Hospitals and Health Care',
       'Security and Investigations',
       'IT Services and IT Consulting, Banking, and Financial Services',
       'Banking',
       'Advertising Services and Online Audio and Video Media',
       'Transportation, Logistics, Supply Chain and Storage',
       'Business Consulting and Services and Pharmaceutical Manufacturing',
       'IT Services and IT Consulting, Software Development, and Computer Games',
       'Insurance and Investment Management',
       'Defense and Space Manufacturing',
       'Biotechnology Research',
       'IT Services and IT Consulting, Medical Equipment Manufacturing, and Pharmaceutical Manufacturing',
       'Insurance',
       'Environmental Services',
       'Real Estate',
       'IT Services and IT Consulting, Software Development, and Wireless Services',
       'Entertainment Providers and Hospitals and Health Care',
       'Appliances, Electrical, and Electronics Manufacturing and Automation Machinery Manufacturing',
       'Banking and Financial Services',
       'Appliances, Electrical, and Electronics Manufacturing, Nanotechnology Research, and Semiconductor Manufacturing',
       'Investment Management',
       'Construction',
       'Education Administration Programs',
       'Government Relations Services, Computer and Network Security, and Utilities',
       'Motor Vehicle Manufacturing',
       'Non-profit Organizations and Research Services',
       'Facilities Services',
       'IT Services and IT Consulting, Software Development, and Insurance',
       'Utilities',
       'IT Services and IT Consulting, Appliances, Electrical, and Electronics Manufacturing, and E-Learning Providers',
       'Computer and Network Security',
       'IT Services and IT Consulting and Financial Services',
       'IT Services and IT Consulting and Musicians',
       'IT Services and IT Consulting, Banking, and Investment Banking',
       'Aviation and Aerospace Component Manufacturing, Staffing and Recruiting, and Airlines and Aviation',
       'Oil and Gas',
       'Food and Beverage Services and Financial Services',
       'IT Services and IT Consulting and Business Consulting and Services',
       'IT Services and IT Consulting, Software Development, and Truck Transportation',
       'Venture Capital and Private Equity Principals',
       'Artists and Writers',
       'IT Services and IT Consulting, Advertising Services, and Public Relations and Communications Services',
       'IT Services and IT Consulting, Information Services, and Food and Beverage Manufacturing',
       'Manufacturing',
       'Information Services',
       'Information Services, Government Relations Services, and Government Administration',
       'IT Services and IT Consulting, Retail Apparel and Fashion, and Retail',
       'IT Services and IT Consulting, Advertising Services, and Technology, Information and Internet',
       'Insurance, Financial Services, and Accounting',
       'IT Services and IT Consulting, Software Development, and Human Resources Services',
       'Entertainment Providers'],
      'legendgroup': '',
      'name': '',
      'showlegend': True,
      'textposition': 'inside',
      'texttemplate': '%{percent}',
      'values': [978,
       581,
       249,
       247,
       202,
       174,
       144,
       125,
       120,
       110,
       98,
       86,
       82,
       76,
       76,
       74,
       73,
       72,
       72,
       72,
       72,
       72,
       71,
       71,
       68,
       68,
       68,
       67,
       66,
       66,
       66,
       66,
       64,
       61,
       55,
       50,
       48,
       46,
       43,
       42,
       38,
       32,
       28,
       27,
       26,
       24,
       20,
       12,
       12,
       8,
       6,
       4,
       4,
       4,
       4,
       4,
       4,
       4,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       1],
      'type': 'pie',
      'uid': 'd728d96c-f071-4ee0-a58c-965e7d79ac7e'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Sample Size:  5239',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'legend': {'tracegroupgap': 0},
     'margin': {'t': 60},
     'piecolorway': ['rgb(141,211,199)',
      'rgb(255,255,179)',
      'rgb(190,186,218)',
      'rgb(251,128,114)',
      'rgb(128,177,211)',
      'rgb(253,180,98)',
      'rgb(179,222,105)',
      'rgb(252,205,229)',
      'rgb(217,217,217)',
      'rgb(188,128,189)',
      'rgb(204,235,197)',
      'rgb(255,237,111)'],
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'font': {'size': 20},
      'text': 'Jobs by Sector',
      'x': 0.05,
      'xanchor': 'left',
      'y': 0.95},
     'uniformtext': {'minsize': 12, 'mode': 'hide'},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1}},
  '38c1b8b27e86459f986e4fa62f6f1479': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]},
      'labels': ['Information Technology',
       'Information Technology and Analyst',
       'Analyst',
       'Finance',
       'Information Technology and General Business',
       'Information Technology, Analyst, and Consulting',
       'Information Technology, Analyst, and Other',
       'Analyst and Information Technology',
       'Analyst, Information Technology, and Research',
       'Information Technology, Analyst, and Engineering',
       'Advertising, Production, and Design',
       'Project Management, Analyst, and Research',
       'Strategy/Planning, Advertising, and Marketing',
       'Advertising, Business Development, and Information Technology',
       'Sales and Analyst',
       'Analyst, Information Technology, and Engineering',
       'Information Technology and Engineering',
       'Strategy/Planning, Analyst, and Information Technology',
       'Finance and Information Technology',
       'Sales',
       'Analyst, Information Technology, and Project Management',
       'Consulting, General Business, and Strategy/Planning',
       'Information Technology and Finance',
       'Engineering',
       'Information Technology, Analyst, and Education',
       'Analyst, Information Technology, and Marketing',
       'Consulting and Analyst',
       'Marketing, Public Relations, and Writing/Editing',
       'Information Technology and Marketing',
       'Information Technology, Analyst, and Marketing',
       'Engineering and Information Technology',
       'Analyst and Strategy/Planning',
       'Analyst and Marketing',
       'Health Care Provider and Information Technology',
       'Information Technology, Public Relations, and Analyst',
       'Human Resources, Sales, and Information Technology',
       'Information Technology, Consulting, and Analyst',
       'Education',
       'Marketing, Advertising, and Analyst',
       'Information Technology, Analyst, and Business Development',
       'Consulting, Information Technology, and Project Management',
       'Engineering, Information Technology, and Analyst',
       'Administrative and Research',
       'Information Technology and Administrative',
       'Project Management and Analyst',
       'Analyst, Finance, and General Business',
       'Other',
       'Analyst, Finance, and Strategy/Planning',
       'Administrative and Customer Service',
       'Analyst, Marketing, and Information Technology',
       'Information Technology, Marketing, and Analyst',
       'Research, Analyst, and Information Technology',
       'Analyst and Finance'],
      'legendgroup': '',
      'name': '',
      'showlegend': True,
      'textposition': 'inside',
      'texttemplate': '%{percent}',
      'values': [3197,
       347,
       230,
       76,
       76,
       76,
       74,
       72,
       72,
       72,
       71,
       68,
       68,
       67,
       67,
       66,
       65,
       61,
       52,
       48,
       44,
       41,
       38,
       36,
       33,
       27,
       24,
       8,
       6,
       6,
       4,
       4,
       4,
       4,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       2,
       1],
      'type': 'pie',
      'uid': 'ab1e85ca-5996-48d1-b4c7-db95601ebafd'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Sample Size:  5241',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'legend': {'tracegroupgap': 0},
     'margin': {'t': 60},
     'piecolorway': ['rgb(141,211,199)',
      'rgb(255,255,179)',
      'rgb(190,186,218)',
      'rgb(251,128,114)',
      'rgb(128,177,211)',
      'rgb(253,180,98)',
      'rgb(179,222,105)',
      'rgb(252,205,229)',
      'rgb(217,217,217)',
      'rgb(188,128,189)',
      'rgb(204,235,197)',
      'rgb(255,237,111)'],
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'font': {'size': 20},
      'text': 'Jobs by Function',
      'x': 0.05,
      'xanchor': 'left',
      'y': 0.95},
     'uniformtext': {'minsize': 12, 'mode': 'hide'},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1}},
  'da415188a95b4d80bb0e173ff605141b': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'hovertemplate': '<b>Date:</b> %{x}<br><b>Number of Jobs:</b> %{y}<br>',
      'legendgroup': 'posted_date',
      'line': {'color': '#1F77B4', 'dash': 'solid'},
      'marker': {'symbol': 'circle'},
      'mode': 'lines+markers',
      'name': 'posted_date',
      'orientation': 'v',
      'showlegend': True,
      'x': ['2022-05-13',
       '2022-07-18',
       '2022-08-12',
       '2022-09-18',
       '2022-09-21',
       '2022-09-28',
       '2022-09-29',
       '2022-10-02',
       '2022-10-04',
       '2022-10-05',
       '2022-10-07',
       '2022-10-10',
       '2022-10-12',
       '2022-10-13',
       '2022-10-14',
       '2022-10-16',
       '2022-10-17',
       '2022-10-18',
       '2022-10-19',
       '2022-10-20',
       '2022-10-21',
       '2022-10-23',
       '2022-10-24',
       '2022-10-25',
       '2022-10-26',
       '2022-10-27',
       '2022-10-28',
       '2022-10-29',
       '2022-10-31',
       '2022-11-01',
       '2022-11-02',
       '2022-11-03',
       '2022-11-04',
       '2022-11-05',
       '2022-11-07',
       '2022-11-08',
       '2022-11-09',
       '2022-11-10',
       '2022-11-11',
       '2022-11-13',
       '2022-11-14',
       '2022-11-15',
       '2022-11-16',
       '2022-11-17',
       '2022-11-18',
       '2022-11-19',
       '2022-11-20',
       '2022-11-21',
       '2022-11-22',
       '2022-11-23'],
      'xaxis': 'x',
      'y': [1,
       2,
       1,
       3,
       2,
       34,
       2,
       35,
       1,
       12,
       2,
       1,
       75,
       2,
       2,
       38,
       1,
       31,
       71,
       6,
       35,
       3,
       93,
       280,
       168,
       191,
       109,
       1,
       21,
       84,
       149,
       106,
       121,
       71,
       82,
       256,
       94,
       88,
       103,
       73,
       59,
       398,
       350,
       595,
       306,
       83,
       113,
       499,
       538,
       227],
      'yaxis': 'y',
      'type': 'scatter',
      'uid': 'a96be742-9de8-448b-aded-22ac1719df30'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'text': 'Sample Size: 5618',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'legend': {'title': {'text': 'variable'}, 'tracegroupgap': 0},
     'margin': {'r': 50, 't': 60},
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Number of Jobs Over Time'},
     'xaxis': {'anchor': 'y',
      'domain': [0.0, 1.0],
      'title': {'text': 'Posted Date'}},
     'yaxis': {'anchor': 'x',
      'domain': [0.0, 1.0],
      'title': {'text': 'Number of Jobs'}},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 2}},
  '9009bc5892114ce98866e668c17d4c35': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'onsite',
      'marker': {'color': '#1F77B4', 'pattern': {'shape': ''}},
      'name': 'onsite',
      'offsetgroup': 'onsite',
      'orientation': 'v',
      'showlegend': True,
      'x': ['onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       'onsite',
       ...],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': '017725f1-eed4-4a1e-98b0-c904eeb85ef3'},
     {'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'remote',
      'marker': {'color': '#FF7F0E', 'pattern': {'shape': ''}},
      'name': 'remote',
      'offsetgroup': 'remote',
      'orientation': 'v',
      'showlegend': True,
      'x': ['remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       'remote',
       ...],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': '127ca8f8-26ac-4dfc-b551-d8b95666f902'},
     {'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'hybrid',
      'marker': {'color': '#2CA02C', 'pattern': {'shape': ''}},
      'name': 'hybrid',
      'offsetgroup': 'hybrid',
      'orientation': 'v',
      'showlegend': True,
      'x': ['hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       'hybrid',
       ...],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': '1a461cf5-834c-477e-bd3c-d1c96e070230'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Sample Size:  5618',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'barmode': 'relative',
     'coloraxis': {'showscale': False},
     'legend': {'title': {'text': 'onsite_remote'}, 'tracegroupgap': 0},
     'margin': {'l': 100, 't': 60},
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Number of Jobs by Work Style'},
     'xaxis': {'anchor': 'y',
      'categoryarray': ['onsite', 'remote', 'hybrid'],
      'categoryorder': 'array',
      'domain': [0.0, 1.0],
      'title': {'text': 'onsite_remote'}},
     'yaxis': {'anchor': 'x',
      'domain': [0.0, 1.0],
      'title': {'standoff': 20, 'text': 'count'}},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1}},
  '86ac95e60f1a4727accaa37398552000': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'Full-time',
      'marker': {'color': '#1F77B4', 'pattern': {'shape': ''}},
      'name': 'Full-time',
      'offsetgroup': 'Full-time',
      'orientation': 'v',
      'showlegend': True,
      'x': ['Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       'Full-time',
       ...],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': '9c133b26-bdd8-4c7b-aa9d-35c542b5bde8'},
     {'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'Contract',
      'marker': {'color': '#2CA02C', 'pattern': {'shape': ''}},
      'name': 'Contract',
      'offsetgroup': 'Contract',
      'orientation': 'v',
      'showlegend': True,
      'x': ['Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       'Contract',
       ...],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': 'fad84630-f8f0-45e9-aba1-f51b34666fa8'},
     {'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'Temporary',
      'marker': {'color': '#D62728', 'pattern': {'shape': ''}},
      'name': 'Temporary',
      'offsetgroup': 'Temporary',
      'orientation': 'v',
      'showlegend': True,
      'x': ['Temporary', 'Temporary'],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': '0bbaf17c-06f3-4ab4-af99-c4223986b4d5'},
     {'alignmentgroup': 'True',
      'bingroup': 'x',
      'legendgroup': 'Volunteer',
      'marker': {'color': '#9467BD', 'pattern': {'shape': ''}},
      'name': 'Volunteer',
      'offsetgroup': 'Volunteer',
      'orientation': 'v',
      'showlegend': True,
      'x': ['Volunteer', 'Volunteer'],
      'xaxis': 'x',
      'yaxis': 'y',
      'type': 'histogram',
      'uid': 'e4e79930-1be7-4a9b-9ec3-19d849d6939c'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Jobs by Employment Type:  5527',
       'x': 1,
       'xanchor': 'right',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'barmode': 'relative',
     'coloraxis': {'showscale': False},
     'legend': {'title': {'text': 'Employment type'}, 'tracegroupgap': 0},
     'margin': {'l': 100, 't': 60},
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Number of Jobs by Employment Type'},
     'xaxis': {'anchor': 'y',
      'categoryarray': ['Full-time',
       nan,
       'Contract',
       'Temporary',
       'Volunteer'],
      'categoryorder': 'array',
      'domain': [0.0, 1.0],
      'title': {'text': 'Employment type'}},
     'yaxis': {'anchor': 'x',
      'domain': [0.0, 1.0],
      'title': {'standoff': 20, 'text': 'count'}},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1}},
  'd810abe51558433d8140b983ff4c167d': {'model_name': 'FigureModel',
   'model_module': 'jupyterlab-plotly',
   'model_module_version': '^5.13.1',
   'state': {'_config': {'plotlyServerURL': 'https://plot.ly'},
    '_data': [{'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Entry level',
      'marker': {'color': '#FF7F0E'},
      'name': 'Entry level',
      'notched': False,
      'offsetgroup': 'Entry level',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (976,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': 'a58a2845-7070-4ab4-b1d9-828afdf5d7ac'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Associate',
      'marker': {'color': '#2CA02C'},
      'name': 'Associate',
      'notched': False,
      'offsetgroup': 'Associate',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (1181,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': '6ee5d4d9-dc38-4331-b1a9-490fbce85b35'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Mid-Senior level',
      'marker': {'color': '#D62728'},
      'name': 'Mid-Senior level',
      'notched': False,
      'offsetgroup': 'Mid-Senior level',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (1682,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': '7f0620bc-d77b-433f-8c27-7015efae0170'},
     {'alignmentgroup': 'True',
      'hoverinfo': 'x',
      'legendgroup': 'Executive',
      'marker': {'color': '#9467BD'},
      'name': 'Executive',
      'notched': False,
      'offsetgroup': 'Executive',
      'orientation': 'h',
      'showlegend': True,
      'x': {'dtype': 'float64', 'shape': (2,)},
      'x0': ' ',
      'xaxis': 'x',
      'y0': ' ',
      'yaxis': 'y',
      'type': 'box',
      'uid': 'e8b3f093-197a-4490-85f8-98bfb4e3e347'}],
    '_dom_classes': (),
    '_js2py_layoutDelta': None,
    '_js2py_pointsCallback': {},
    '_js2py_relayout': None,
    '_js2py_restyle': {},
    '_js2py_traceDeltas': None,
    '_js2py_update': {},
    '_last_layout_edit_id': 1,
    '_layout': {'annotations': [{'ax': 0,
       'ay': 0,
       'font': {'size': 16},
       'text': 'Sample Size: 965',
       'x': 1.1,
       'xanchor': 'center',
       'xref': 'paper',
       'y': -0.1,
       'yanchor': 'top',
       'yref': 'paper'}],
     'boxmode': 'group',
     'legend': {'title': {'text': 'Seniority level'}, 'tracegroupgap': 0},
     'margin': {'t': 60},
     'showlegend': True,
     'template': {'data': {'bar': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'bar'}],
       'histogram': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'histogram'}],
       'pie': [{'hovertemplate': '<b>%{label}</b><br><i>Count</i>: %{value}',
         'type': 'pie'}],
       'scatter': [{'hovertemplate': '<b>%{x}</b><br><i>Count</i>: %{y}',
         'type': 'scatter'}]},
      'layout': {'colorway': ['#1F77B4',
        '#FF7F0E',
        '#2CA02C',
        '#D62728',
        '#9467BD',
        '#8C564B',
        '#E377C2',
        '#7F7F7F',
        '#BCBD22',
        '#17BECF'],
       'dragmode': 'pan',
       'font': {'size': 16},
       'legend': {'font': {'size': 17}},
       'paper_bgcolor': 'rgb(171,200,227)',
       'plot_bgcolor': '#BAE0F3',
       'showlegend': False,
       'title': {'font': {'size': 19}},
       'uniformtext': {'minsize': 12, 'mode': 'hide'},
       'xaxis': {'showgrid': False, 'zeroline': False},
       'yaxis': {'zeroline': False}}},
     'title': {'text': 'Salary (Lower Bound) Based on Seniority Level'},
     'xaxis': {'anchor': 'y',
      'domain': [0.0, 1.0],
      'showgrid': True,
      'title': {'text': 'salary_lb'}},
     'yaxis': {'anchor': 'x', 'domain': [0.0, 1.0]},
     'autosize': True},
    '_py2js_addTraces': {},
    '_py2js_animate': {},
    '_py2js_deleteTraces': {},
    '_py2js_moveTraces': {},
    '_py2js_relayout': None,
    '_py2js_removeLayoutProps': {},
    '_py2js_removeTraceProps': {},
    '_py2js_restyle': {},
    '_py2js_update': {},
    '_view_count': 1},
   'buffers': [{'encoding': 'base64',
     'path': ['_data', 0, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANvqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAauhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGroQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq6EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEEAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEEAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAQOpAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAQOpAAAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAABA6kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAKDkQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACg5EAAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEDqQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAoORAAAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAg7EAAAAAAAAD4fwAAAAAAoORAAAAAAAAg7EA='},
    {'encoding': 'base64',
     'path': ['_data', 1, 'x', 'buffer'],
     'data': 'AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAGr4QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAMB6AEEAAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAADAegBBAAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAMB6AEEAAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATO1AAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAIBP8kAAAAAAwHoAQQAAAAAA0PFAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg7EAAAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACkD0EAAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEztQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAADQ8UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACDsQAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAX8UAAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAANDxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGjwQAAAAAAAAPh/AAAAAAC970AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAaPBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAACA++9AAAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAaPBAAAAAAAAA+H8AAAAAAL3vQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAGjwQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAL3vQAAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fw=='},
    {'encoding': 'base64',
     'path': ['_data', 2, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAD+8EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAP7wQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA/vBAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAMB6AEEAAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAMB6AEEAAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAADAegBBzMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAADAegBBAAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAwHoAQQAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAMB6AEHMzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAF/FAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAADAegBBAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA0PFAAAAAAAAA+H8AAAAAABfxQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAiPNAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABM/UAAAAAAAAD4fwAAAACAwPRAAAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAICE/kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H/MzMzMzPr7QAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAEz9QAAAAAAAAPh/AAAAAIDA9EAAAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgIT+QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4f8zMzMzM+vtAAAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAATP1AAAAAAAAA+H8AAAAAgMD0QAAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAACAhP5AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/zMzMzMz6+0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAABq+EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIOxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAADA8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAIjzQAAAAAAAAPh/AAAAAACI80AAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAMDyQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAvf9AAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAD59UAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAABw90AAAAAAAAD4fwAAAAAA+fVAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAACAT/JAAAAAAAAA+H8AAAAAAL3/QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAg/EAAAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAC9/0AAAAAAAAD4fwAAAAAAavhAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAAA+H8AAAAAAPn1QAAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAwPJAAAAAAAAA+H8AAAAAgE/yQAAAAAAAAPh/AAAAAAAA+H8AAAAAAHD3QAAAAAAA+fVAAAAAAAAA+H8AAAAAACD8QAAAAAAAAPh/AAAAAAAA+H8AAAAAgE/yQAAAAAAAvf9AAAAAAAAA+H8AAAAAAAD4fwAAAAAAcPdAAAAAAAD59UAAAAAAAAD4fwAAAAAAIPxAAAAAAAAA+H8AAAAAAAD4fwAAAAAAAPh/AAAAAIBP8kAAAAAAAL3/QA=='},
    {'encoding': 'base64',
     'path': ['_data', 3, 'x', 'buffer'],
     'data': 'AAAAAAAA+H8AAAAAAAD4fw=='}]},
  'd25623c37b114758a9b49ddd25ef6ab4': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {}},
  '7727ef5a475040dab81f53ba1a468fba': {'model_name': 'VBoxModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'children': ['IPY_MODEL_3bda9815b3fd4e67a610e22ad6e80ca8',
     'IPY_MODEL_b9c33679dae849a0bd6fbcfd1b6c932f',
     'IPY_MODEL_38c1b8b27e86459f986e4fa62f6f1479'],
    'layout': 'IPY_MODEL_d25623c37b114758a9b49ddd25ef6ab4'}},
  'f6d95d13252945e596da216f68330fa7': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {}},
  '4ac19fa0abfd49b9884d50b3f80448a9': {'model_name': 'VBoxModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'children': ['IPY_MODEL_9009bc5892114ce98866e668c17d4c35',
     'IPY_MODEL_86ac95e60f1a4727accaa37398552000'],
    'layout': 'IPY_MODEL_f6d95d13252945e596da216f68330fa7'}},
  'f47aa260f32643be808a1a778fb1027f': {'model_name': 'LayoutModel',
   'model_module': '@jupyter-widgets/base',
   'model_module_version': '2.0.0',
   'state': {'height': '3000px',
    'margin': '0px 0px 0px 0px',
    'padding': '0px 0px 0px 0px'}},
  'c713fa1aa2e846e89aba7e03f64cc5ab': {'model_name': 'VBoxModel',
   'model_module': '@jupyter-widgets/controls',
   'model_module_version': '2.0.0',
   'state': {'_dom_classes': (),
    'children': ['IPY_MODEL_7727ef5a475040dab81f53ba1a468fba',
     'IPY_MODEL_4ac19fa0abfd49b9884d50b3f80448a9',
     'IPY_MODEL_da415188a95b4d80bb0e173ff605141b',
     'IPY_MODEL_d810abe51558433d8140b983ff4c167d'],
    'layout': 'IPY_MODEL_f47aa260f32643be808a1a778fb1027f'}}}}
In [96]:
embed_minimal_html('export.html', views=[time_chart], title='Widgets export')

3. Extract Words From Job Description¶

In [ ]:
# a = np.array([0,1,2])
# b = np.array([0,0,0])
# a = a[:, np.newaxis]
# b = b[:, np.newaxis]
In [ ]:
# np.concatenate((b,a), axis=1)
In [ ]:
# stemmer = SnowballStemmer('english')
# lemmatizer = WordNetLemmatizer()
In [ ]:
# lemmatizer.lemmatize("hellothere")

Extract both lowercase and uppercase words using regex match. However, we do not want to keep some lowercase and uppercase words since regex matches may sometimes only match a part of a word, since we simply look for words instead of delimiting by a specific character, which can lead to partial matches. We need to check for those partial matches and remove them

Overlap Delim (Bad Idea by Me)¶

In [ ]:
import nltk
CHARS_TO_KEEP = "\w$%#" # Characters that should be kept because they bring semantic value
english_vocab = set(w.lower() for w in nltk.corpus.words.words())

def is_between(a : int,  value : int, b : int):
    '''
        a: lower bound
        b: upper bound
        value: value to test bound
    '''
    return a <= value <= b

assert is_between(1, 1.5, 2) == True
assert is_between(1, 3, 2) == False
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 81 line 1
----> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y142sZmlsZQ%3D%3D?line=0'>1</a> import nltk
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y142sZmlsZQ%3D%3D?line=1'>2</a> CHARS_TO_KEEP = "\w$%#" # Characters that should be kept because they bring semantic value
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y142sZmlsZQ%3D%3D?line=2'>3</a> english_vocab = set(w.lower() for w in nltk.corpus.words.words())

ModuleNotFoundError: No module named 'nltk'
In [ ]:
def deal_with_word_match_overlap(lc_word_match : re.Match, uc_word_match: re.Match,
                                index_num : int, should_segment=True) -> int:
    '''
       lc_word_match : first_match
       uc_word_match : second_match
       index_num : row index number of our df DataFrame
    
       returns: 
           overlap State (tells us which iterator to advance):
               state of 1 means second_match precedes first match
               state of 0 means second_match overlaps first match
              state of -1 means second_match succeeds first match 
           valid string: word that should be added to our final array
    '''
    overlap_state = -99
    valid_string = ""
    
    ## Overlap found. That means only one string is valid 
    if is_between(lc_word_match.start(), uc_word_match.start(), lc_word_match.end()) or \
    is_between(lc_word_match.start(), uc_word_match.end(), lc_word_match.end()):    
        if lc_word_match.string.lower() in english_vocab:
            valid_string = lc_word_match.group()
        elif uc_word_match.string.lower() in english_vocab:
            valid_string = uc_word_match.group()
        else:
            if should_segment is True:
                if len(lc_word_match.group()) < len(uc_word_match.group()):
                    valid_string = segment(uc_word_match.group())
                else:
                    valid_string = segment(lc_word_match.group())
#             print("----------------------------- WARNING -----------------------------")
#             print(f"Row {index_num} with LC_match {lc_word_match}")
#             print(f"and UC_match {uc_word_match} did not produce a valid string")
#             print(f"Proceeding to assign valid_string to lc_word_match string")
#             print("-------------------------------------------------------------------", end="\n\n")
            else:
                if len(lc_word_match.group()) < len(uc_word_match.group()):
                    valid_string = uc_word_match.group()
                else:
                    valid_string = lc_word_match.group()
        overlap_state = 0
    elif uc_word_match.start() >= lc_word_match.start():
        valid_string = lc_word_match.group()
        overlap_state = -1
    elif uc_word_match.start() <= lc_word_match.start():
        valid_string = uc_word_match.group()
        overlap_state = 1
        
    return valid_string, overlap_state
In [ ]:
## This should also find all lowercase words
def find_all_words_based_on_delim_and_capital_letters(row, test=False):
    '''
        Assumption: Only segment words which include capital letters
    '''
    job_description = row['description'] if test is False else row
    lc_word_generators = itertools.tee(re.finditer(f"[{CHARS_TO_KEEP}]+", job_description))
    uc_word_generators = itertools.tee(re.finditer("[A-Z]{1}\w+", job_description))
    lc_word_generator_length = sum(1 for elem in lc_word_generators[0])
    uc_word_generator_length = sum(1 for elem in uc_word_generators[0])
    final_words_array = []
    
    lc_match = next(lc_word_generators[1])
    uc_match = next(uc_word_generators[1])
    init_lc_index = 0
    init_uc_index = 0
    overlap_state = -99

    while init_lc_index < lc_word_generator_length and \
          init_uc_index < uc_word_generator_length:
            # Finally, increment iterator if the above condition fits
            if overlap_state == 1:
                uc_match = next(uc_word_generators[1])
            elif overlap_state == 0:
                lc_match = next(lc_word_generators[1])
                uc_match = next(uc_word_generators[1])                
            elif overlap_state == -1:
                lc_match = next(lc_word_generators[1])
            
            # First, check overlap status
            valid_string, overlap_state = deal_with_word_match_overlap(
                lc_match,
                uc_match, 
                0) # Use 0 instead of row.name for now
        
            if type(valid_string) == list:
                final_words_array.extend(valid_string)
            else:
                final_words_array.append(valid_string)
            
            # Based on overlap status, plan iterator increment
            if overlap_state == 1:
                init_uc_index += 1

            elif overlap_state == 0:
                ## Only keep one of the generator words if they overlap each other
                init_lc_index += 1
                init_uc_index += 1

            elif overlap_state == -1:
                init_lc_index += 1
    
    try:
        if init_lc_index < lc_word_generator_length:
            while True:
                final_words_array.append(next(lc_word_generators[1]).group())

        elif init_uc_index < uc_word_generator_length:
            while True:
                final_words_array.append(next(uc_word_generators[1]).group())
    except StopIteration:
        pass

    np_final_word_array = np.expand_dims(np.array(final_words_array), axis=1)
    np_job_description_index = np.expand_dims([0] * len(final_words_array), axis=1)
    return np.concatenate((np_job_description_index, np_final_word_array), axis=1).tolist()



# text = "On average, I would hire a lot of coolcatseatingspaghetti for this"
# print(find_all_words_based_on_delim_and_capital_letters(text, test=True))

# text = "The candidate is expected to show up to all meetingsKey responsibilities"
# print(find_all_words_based_on_delim_and_capital_letters(text, test=True))

# words_based_on_delim = df.head(5).apply(find_all_words_based_on_delim_and_capital_letters, axis=1).explode()

Normal Delim¶

In [ ]:
def find_all_words_based_on_normal_delim(row, test=False):
    '''
        Assumption: Segment every word
    '''
    job_description = row["description"] if test is False else row
    # Segment every word. Can be inefficient! How do we avoid this
    all_words = []
    for word in re.findall(f"[{CHARS_TO_KEEP}]+", job_description):
        try:
            words = segment(word) ## ValueError can occur due to unavailable segmentation
            all_words.extend(words)
        except ValueError:
            all_words.append(word)
    final_words_array = [stemmer.stem(word) for word in all_words if word.lower() not in STOPWORDS]
    np_final_word_array = np.expand_dims(np.array(final_words_array), axis=1)
    np_job_description_index = np.expand_dims([row.name if test is False else 0] 
                                              * len(final_words_array), axis=1)
    return np.concatenate((np_job_description_index, np_final_word_array), axis=1).tolist()


all_words = df.swifter.apply(find_all_words_based_on_normal_delim, axis=1).explode()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 85 line 2
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=15'>16</a>     np_job_description_index = np.expand_dims([row.name if test is False else 0] 
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=16'>17</a>                                               * len(final_words_array), axis=1)
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=17'>18</a>     return np.concatenate((np_job_description_index, np_final_word_array), axis=1).tolist()
---> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=20'>21</a> all_words = df.swifter.apply(find_all_words_based_on_normal_delim, axis=1).explode()

File c:\Users\harri\miniconda3\envs\py310_notebook_env\lib\site-packages\swifter\swifter.py:419, in DataFrameAccessor.apply(self, func, axis, raw, result_type, args, **kwds)
    417 try:  # try to vectorize
    418     with suppress_stdout_stderr_logging():
--> 419         tmp_df = func(sample, *args, **kwds)
    420         sample_df = sample.apply(func, axis=axis, raw=raw, result_type=result_type, args=args, **kwds)
    421         self._validate_apply(
    422             np.array_equal(sample_df, tmp_df) & (hasattr(tmp_df, "shape")) & (sample_df.shape == tmp_df.shape),
    423             error_message=("Vectorized function sample does not match pandas apply sample."),
    424         )

c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 85 line 8
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=5'>6</a> # Segment every word. Can be inefficient! How do we avoid this
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=6'>7</a> all_words = []
----> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=7'>8</a> for word in re.findall(f"[{CHARS_TO_KEEP}]+", job_description):
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=8'>9</a>     try:
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y146sZmlsZQ%3D%3D?line=9'>10</a>         words = segment(word) ## ValueError can occur due to unavailable segmentation

NameError: name 'CHARS_TO_KEEP' is not defined

Spacy Delim¶

In [ ]:
# !pip freeze | grep spacy
In [ ]:
# !python -m spacy download en_core_web_sm
In [ ]:
import spacy
nlp = spacy.load("en_core_web_sm")
In [ ]:
# [token.lemma_ for token in doc]
In [ ]:
def find_all_words_based_on_spacy_delim(row, test=False):
    '''
        Assumption: Segment every word
    '''
    job_description = row["description"] if test is False else row
    nlp_tokens = nlp(job_description)
    all_words = [token.lemma_ for token in nlp_tokens if token.lemma_.lower() not in STOPWORDS] 
#     final_words_array = []
# ##    Ignore segmentation for now because we may not need it
#     for word in all_words:
#         if word not in nlp_tokens.ents:
#             try:
#                 words = segment(word) ## ValueError can occur due to unavailable segmentation
#                 final_words_array.extend(words)
#             except ValueError:
#                 final_words_array.append(word)
#         else:
#             final_words_array.append(word)
                
    np_final_word_array = np.expand_dims(np.array(all_words), axis=1)
    np_job_description_index = np.expand_dims([row.name if test is False else 0] 
                                              * len(all_words), axis=1)
    return np.concatenate((np_job_description_index, np_final_word_array), axis=1).tolist()


all_words = df.swifter.apply(find_all_words_based_on_spacy_delim, axis=1).explode()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 91 line 2
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=20'>21</a>     np_job_description_index = np.expand_dims([row.name if test is False else 0] 
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=21'>22</a>                                               * len(all_words), axis=1)
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=22'>23</a>     return np.concatenate((np_job_description_index, np_final_word_array), axis=1).tolist()
---> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=25'>26</a> all_words = df.swifter.apply(find_all_words_based_on_spacy_delim, axis=1).explode()

File c:\Users\harri\miniconda3\envs\py310_notebook_env\lib\site-packages\swifter\swifter.py:419, in DataFrameAccessor.apply(self, func, axis, raw, result_type, args, **kwds)
    417 try:  # try to vectorize
    418     with suppress_stdout_stderr_logging():
--> 419         tmp_df = func(sample, *args, **kwds)
    420         sample_df = sample.apply(func, axis=axis, raw=raw, result_type=result_type, args=args, **kwds)
    421         self._validate_apply(
    422             np.array_equal(sample_df, tmp_df) & (hasattr(tmp_df, "shape")) & (sample_df.shape == tmp_df.shape),
    423             error_message=("Vectorized function sample does not match pandas apply sample."),
    424         )

c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 91 line 6
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=1'>2</a>     '''
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=2'>3</a>         Assumption: Segment every word
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=3'>4</a>     '''
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=4'>5</a>     job_description = row["description"] if test is False else row
----> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=5'>6</a>     nlp_tokens = nlp(job_description)
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=6'>7</a>     all_words = [token.lemma_ for token in nlp_tokens if token.lemma_.lower() not in STOPWORDS] 
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=7'>8</a> #     final_words_array = []
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=8'>9</a> # ##    Ignore segmentation for now because we may not need it
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=9'>10</a> #     for word in all_words:
   (...)
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=16'>17</a> #         else:
     <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y155sZmlsZQ%3D%3D?line=17'>18</a> #             final_words_array.append(word)

NameError: name 'nlp' is not defined
In [ ]:
all_words = all_words.str[1]
In [ ]:
 
In [ ]:
words_based_on_delim = pd.DataFrame({"Label_ID": all_words.str[0], 
                                    "Word" : all_words.str[1]})
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
c:\Users\harri\Documents\Programming\linkedin_data_analysis\PLotLee_Mini\linkedin-job-data-analysis_subplots_test.ipynb Cell 94 line 1
----> <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y161sZmlsZQ%3D%3D?line=0'>1</a> words_based_on_delim = pd.DataFrame({"Label_ID": all_words.str[0], 
      <a href='vscode-notebook-cell:/c%3A/Users/harri/Documents/Programming/linkedin_data_analysis/PLotLee_Mini/linkedin-job-data-analysis_subplots_test.ipynb#Y161sZmlsZQ%3D%3D?line=1'>2</a>                                     "Word" : all_words.str[1]})

NameError: name 'all_words' is not defined
In [ ]:
words_based_on_delim.head(10)

Archive¶

Performance Testing between pd.Series.apply and pd.DataFrame.apply¶

In [ ]:
%%timeit
def get_keywords(row):
    job_desc = row["description"].lower()
    has_qualification = job_desc.find("qualification")
    has_requirement = job_desc.find("requirement")
    has_basic_requirement = job_desc.find("basic requirement")
    has_responsibility = job_desc.find("responsibility")
    return [has_qualification, has_requirement, has_basic_requirement, has_responsibility]

new_data = df.apply(get_keywords, result_type="expand", axis=1)
In [ ]:
new_data = df.apply(get_keywords, result_type="expand", axis=1)
In [ ]:
new_data.head(5)
In [ ]:
def get_keywords_series(job_desc):
    job_desc = job_desc.lower()
    has_qualification = job_desc.find("qualification")
    has_requirement = job_desc.find("requirement")
    has_basic_requirement = job_desc.find("basic requirement")
    has_responsibility = job_desc.find("responsibilit")
    return [has_qualification, has_requirement, has_basic_requirement, has_responsibility]
In [ ]:
%%timeit
series = df["description"].apply(get_keywords_series)
new_data_series = pd.DataFrame(series.tolist())
In [ ]:
series = df["description"].apply(get_keywords_series)
new_data_series = pd.DataFrame(series.tolist(), columns=["has_qualification", "has_requirement",
                                                        "has_basic_requirement", "has_responsibility"])
In [ ]:
new_data_series.head(5)
In [ ]:
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
 
word_tokens = word_tokenize(example_sent)
# converts the words in word_tokens to lower case and then checks whether
# they are present in stop_words or not
filtered_sentence = [w for w in word_tokens if not w.lower() in stop_words]
#with no lower case conversion
filtered_sentence = []
 
for w in word_tokens:
    if w not in stop_words:
        filtered_sentence.append(w)
 
print(word_tokens)
print(filtered_sentence)

Performance Test End¶

In [ ]: